package com.example.demo.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TaskExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TaskExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTaskIdIsNull() {
            addCriterion("TASK_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskIdIsNotNull() {
            addCriterion("TASK_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskIdEqualTo(Integer value) {
            addCriterion("TASK_ID =", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotEqualTo(Integer value) {
            addCriterion("TASK_ID <>", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThan(Integer value) {
            addCriterion("TASK_ID >", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_ID >=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThan(Integer value) {
            addCriterion("TASK_ID <", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_ID <=", value, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdIn(List<Integer> values) {
            addCriterion("TASK_ID in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotIn(List<Integer> values) {
            addCriterion("TASK_ID not in", values, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdBetween(Integer value1, Integer value2) {
            addCriterion("TASK_ID between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskIdNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_ID not between", value1, value2, "taskId");
            return (Criteria) this;
        }

        public Criteria andTaskNameIsNull() {
            addCriterion("TASK_NAME is null");
            return (Criteria) this;
        }

        public Criteria andTaskNameIsNotNull() {
            addCriterion("TASK_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andTaskNameEqualTo(String value) {
            addCriterion("TASK_NAME =", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameNotEqualTo(String value) {
            addCriterion("TASK_NAME <>", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameGreaterThan(String value) {
            addCriterion("TASK_NAME >", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_NAME >=", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameLessThan(String value) {
            addCriterion("TASK_NAME <", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameLessThanOrEqualTo(String value) {
            addCriterion("TASK_NAME <=", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameLike(String value) {
            addCriterion("TASK_NAME like", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameNotLike(String value) {
            addCriterion("TASK_NAME not like", value, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameIn(List<String> values) {
            addCriterion("TASK_NAME in", values, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameNotIn(List<String> values) {
            addCriterion("TASK_NAME not in", values, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameBetween(String value1, String value2) {
            addCriterion("TASK_NAME between", value1, value2, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskNameNotBetween(String value1, String value2) {
            addCriterion("TASK_NAME not between", value1, value2, "taskName");
            return (Criteria) this;
        }

        public Criteria andTaskContentIsNull() {
            addCriterion("TASK_CONTENT is null");
            return (Criteria) this;
        }

        public Criteria andTaskContentIsNotNull() {
            addCriterion("TASK_CONTENT is not null");
            return (Criteria) this;
        }

        public Criteria andTaskContentEqualTo(String value) {
            addCriterion("TASK_CONTENT =", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentNotEqualTo(String value) {
            addCriterion("TASK_CONTENT <>", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentGreaterThan(String value) {
            addCriterion("TASK_CONTENT >", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_CONTENT >=", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentLessThan(String value) {
            addCriterion("TASK_CONTENT <", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentLessThanOrEqualTo(String value) {
            addCriterion("TASK_CONTENT <=", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentLike(String value) {
            addCriterion("TASK_CONTENT like", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentNotLike(String value) {
            addCriterion("TASK_CONTENT not like", value, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentIn(List<String> values) {
            addCriterion("TASK_CONTENT in", values, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentNotIn(List<String> values) {
            addCriterion("TASK_CONTENT not in", values, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentBetween(String value1, String value2) {
            addCriterion("TASK_CONTENT between", value1, value2, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskContentNotBetween(String value1, String value2) {
            addCriterion("TASK_CONTENT not between", value1, value2, "taskContent");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeIsNull() {
            addCriterion("TASK_OPEN_TIME is null");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeIsNotNull() {
            addCriterion("TASK_OPEN_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeEqualTo(Date value) {
            addCriterion("TASK_OPEN_TIME =", value, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeNotEqualTo(Date value) {
            addCriterion("TASK_OPEN_TIME <>", value, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeGreaterThan(Date value) {
            addCriterion("TASK_OPEN_TIME >", value, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("TASK_OPEN_TIME >=", value, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeLessThan(Date value) {
            addCriterion("TASK_OPEN_TIME <", value, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeLessThanOrEqualTo(Date value) {
            addCriterion("TASK_OPEN_TIME <=", value, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeIn(List<Date> values) {
            addCriterion("TASK_OPEN_TIME in", values, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeNotIn(List<Date> values) {
            addCriterion("TASK_OPEN_TIME not in", values, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeBetween(Date value1, Date value2) {
            addCriterion("TASK_OPEN_TIME between", value1, value2, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskOpenTimeNotBetween(Date value1, Date value2) {
            addCriterion("TASK_OPEN_TIME not between", value1, value2, "taskOpenTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeIsNull() {
            addCriterion("TASK_COMPLETE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeIsNotNull() {
            addCriterion("TASK_COMPLETE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeEqualTo(Date value) {
            addCriterion("TASK_COMPLETE_TIME =", value, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeNotEqualTo(Date value) {
            addCriterion("TASK_COMPLETE_TIME <>", value, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeGreaterThan(Date value) {
            addCriterion("TASK_COMPLETE_TIME >", value, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("TASK_COMPLETE_TIME >=", value, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeLessThan(Date value) {
            addCriterion("TASK_COMPLETE_TIME <", value, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeLessThanOrEqualTo(Date value) {
            addCriterion("TASK_COMPLETE_TIME <=", value, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeIn(List<Date> values) {
            addCriterion("TASK_COMPLETE_TIME in", values, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeNotIn(List<Date> values) {
            addCriterion("TASK_COMPLETE_TIME not in", values, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeBetween(Date value1, Date value2) {
            addCriterion("TASK_COMPLETE_TIME between", value1, value2, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskCompleteTimeNotBetween(Date value1, Date value2) {
            addCriterion("TASK_COMPLETE_TIME not between", value1, value2, "taskCompleteTime");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdIsNull() {
            addCriterion("TASK_CHARGE_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdIsNotNull() {
            addCriterion("TASK_CHARGE_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdEqualTo(Integer value) {
            addCriterion("TASK_CHARGE_ID =", value, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdNotEqualTo(Integer value) {
            addCriterion("TASK_CHARGE_ID <>", value, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdGreaterThan(Integer value) {
            addCriterion("TASK_CHARGE_ID >", value, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_CHARGE_ID >=", value, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdLessThan(Integer value) {
            addCriterion("TASK_CHARGE_ID <", value, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_CHARGE_ID <=", value, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdIn(List<Integer> values) {
            addCriterion("TASK_CHARGE_ID in", values, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdNotIn(List<Integer> values) {
            addCriterion("TASK_CHARGE_ID not in", values, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdBetween(Integer value1, Integer value2) {
            addCriterion("TASK_CHARGE_ID between", value1, value2, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskChargeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_CHARGE_ID not between", value1, value2, "taskChargeId");
            return (Criteria) this;
        }

        public Criteria andTaskProIsNull() {
            addCriterion("TASK_PRO is null");
            return (Criteria) this;
        }

        public Criteria andTaskProIsNotNull() {
            addCriterion("TASK_PRO is not null");
            return (Criteria) this;
        }

        public Criteria andTaskProEqualTo(Integer value) {
            addCriterion("TASK_PRO =", value, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProNotEqualTo(Integer value) {
            addCriterion("TASK_PRO <>", value, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProGreaterThan(Integer value) {
            addCriterion("TASK_PRO >", value, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_PRO >=", value, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProLessThan(Integer value) {
            addCriterion("TASK_PRO <", value, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_PRO <=", value, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProIn(List<Integer> values) {
            addCriterion("TASK_PRO in", values, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProNotIn(List<Integer> values) {
            addCriterion("TASK_PRO not in", values, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProBetween(Integer value1, Integer value2) {
            addCriterion("TASK_PRO between", value1, value2, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskProNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_PRO not between", value1, value2, "taskPro");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdIsNull() {
            addCriterion("TASK_PUBLISHER_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdIsNotNull() {
            addCriterion("TASK_PUBLISHER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdEqualTo(Integer value) {
            addCriterion("TASK_PUBLISHER_ID =", value, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdNotEqualTo(Integer value) {
            addCriterion("TASK_PUBLISHER_ID <>", value, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdGreaterThan(Integer value) {
            addCriterion("TASK_PUBLISHER_ID >", value, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_PUBLISHER_ID >=", value, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdLessThan(Integer value) {
            addCriterion("TASK_PUBLISHER_ID <", value, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_PUBLISHER_ID <=", value, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdIn(List<Integer> values) {
            addCriterion("TASK_PUBLISHER_ID in", values, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdNotIn(List<Integer> values) {
            addCriterion("TASK_PUBLISHER_ID not in", values, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdBetween(Integer value1, Integer value2) {
            addCriterion("TASK_PUBLISHER_ID between", value1, value2, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskPublisherIdNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_PUBLISHER_ID not between", value1, value2, "taskPublisherId");
            return (Criteria) this;
        }

        public Criteria andTaskStateIsNull() {
            addCriterion("TASK_STATE is null");
            return (Criteria) this;
        }

        public Criteria andTaskStateIsNotNull() {
            addCriterion("TASK_STATE is not null");
            return (Criteria) this;
        }

        public Criteria andTaskStateEqualTo(Integer value) {
            addCriterion("TASK_STATE =", value, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateNotEqualTo(Integer value) {
            addCriterion("TASK_STATE <>", value, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateGreaterThan(Integer value) {
            addCriterion("TASK_STATE >", value, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_STATE >=", value, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateLessThan(Integer value) {
            addCriterion("TASK_STATE <", value, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_STATE <=", value, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateIn(List<Integer> values) {
            addCriterion("TASK_STATE in", values, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateNotIn(List<Integer> values) {
            addCriterion("TASK_STATE not in", values, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateBetween(Integer value1, Integer value2) {
            addCriterion("TASK_STATE between", value1, value2, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskStateNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_STATE not between", value1, value2, "taskState");
            return (Criteria) this;
        }

        public Criteria andTaskTypeIsNull() {
            addCriterion("TASK_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andTaskTypeIsNotNull() {
            addCriterion("TASK_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andTaskTypeEqualTo(String value) {
            addCriterion("TASK_TYPE =", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeNotEqualTo(String value) {
            addCriterion("TASK_TYPE <>", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeGreaterThan(String value) {
            addCriterion("TASK_TYPE >", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_TYPE >=", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeLessThan(String value) {
            addCriterion("TASK_TYPE <", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeLessThanOrEqualTo(String value) {
            addCriterion("TASK_TYPE <=", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeLike(String value) {
            addCriterion("TASK_TYPE like", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeNotLike(String value) {
            addCriterion("TASK_TYPE not like", value, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeIn(List<String> values) {
            addCriterion("TASK_TYPE in", values, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeNotIn(List<String> values) {
            addCriterion("TASK_TYPE not in", values, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeBetween(String value1, String value2) {
            addCriterion("TASK_TYPE between", value1, value2, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskTypeNotBetween(String value1, String value2) {
            addCriterion("TASK_TYPE not between", value1, value2, "taskType");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityIsNull() {
            addCriterion("TASK_PRIORITY is null");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityIsNotNull() {
            addCriterion("TASK_PRIORITY is not null");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityEqualTo(String value) {
            addCriterion("TASK_PRIORITY =", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityNotEqualTo(String value) {
            addCriterion("TASK_PRIORITY <>", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityGreaterThan(String value) {
            addCriterion("TASK_PRIORITY >", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityGreaterThanOrEqualTo(String value) {
            addCriterion("TASK_PRIORITY >=", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityLessThan(String value) {
            addCriterion("TASK_PRIORITY <", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityLessThanOrEqualTo(String value) {
            addCriterion("TASK_PRIORITY <=", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityLike(String value) {
            addCriterion("TASK_PRIORITY like", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityNotLike(String value) {
            addCriterion("TASK_PRIORITY not like", value, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityIn(List<String> values) {
            addCriterion("TASK_PRIORITY in", values, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityNotIn(List<String> values) {
            addCriterion("TASK_PRIORITY not in", values, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityBetween(String value1, String value2) {
            addCriterion("TASK_PRIORITY between", value1, value2, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskPriorityNotBetween(String value1, String value2) {
            addCriterion("TASK_PRIORITY not between", value1, value2, "taskPriority");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdIsNull() {
            addCriterion("TASK_MILESTONE_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdIsNotNull() {
            addCriterion("TASK_MILESTONE_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdEqualTo(Integer value) {
            addCriterion("TASK_MILESTONE_ID =", value, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdNotEqualTo(Integer value) {
            addCriterion("TASK_MILESTONE_ID <>", value, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdGreaterThan(Integer value) {
            addCriterion("TASK_MILESTONE_ID >", value, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_MILESTONE_ID >=", value, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdLessThan(Integer value) {
            addCriterion("TASK_MILESTONE_ID <", value, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_MILESTONE_ID <=", value, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdIn(List<Integer> values) {
            addCriterion("TASK_MILESTONE_ID in", values, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdNotIn(List<Integer> values) {
            addCriterion("TASK_MILESTONE_ID not in", values, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdBetween(Integer value1, Integer value2) {
            addCriterion("TASK_MILESTONE_ID between", value1, value2, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskMilestoneIdNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_MILESTONE_ID not between", value1, value2, "taskMilestoneId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdIsNull() {
            addCriterion("TASK_FUNCTION_ID is null");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdIsNotNull() {
            addCriterion("TASK_FUNCTION_ID is not null");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdEqualTo(Integer value) {
            addCriterion("TASK_FUNCTION_ID =", value, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdNotEqualTo(Integer value) {
            addCriterion("TASK_FUNCTION_ID <>", value, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdGreaterThan(Integer value) {
            addCriterion("TASK_FUNCTION_ID >", value, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("TASK_FUNCTION_ID >=", value, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdLessThan(Integer value) {
            addCriterion("TASK_FUNCTION_ID <", value, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdLessThanOrEqualTo(Integer value) {
            addCriterion("TASK_FUNCTION_ID <=", value, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdIn(List<Integer> values) {
            addCriterion("TASK_FUNCTION_ID in", values, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdNotIn(List<Integer> values) {
            addCriterion("TASK_FUNCTION_ID not in", values, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdBetween(Integer value1, Integer value2) {
            addCriterion("TASK_FUNCTION_ID between", value1, value2, "taskFunctionId");
            return (Criteria) this;
        }

        public Criteria andTaskFunctionIdNotBetween(Integer value1, Integer value2) {
            addCriterion("TASK_FUNCTION_ID not between", value1, value2, "taskFunctionId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}